I have divided the program into several files for quicker recompilation during development. @o global.h @@<Include files@> @<Type declarations@> @<Global variable declarations@> @<Function prototypes@> @
We'll need at least three of the standard system include files. @d Include files @#include <stdlib.h> #include <stdio.h> #include <string.h> #include <ctype.h> @| FILE stderr exit fprintf fputs fopen fclose getc putc strlen toupper isupper islower isgraph isspace tempnam remove malloc size_t @
I also like to use TRUE
and FALSE
in my code.
I'd use an enum
here, except that some systems seem to provide
definitions of TRUE
and FALSE
be default. The following
code seems to work on all the local systems.
@d Type dec...
@#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE (!0)
#endif
@| FALSE TRUE @